package org.jeecg.modules.wms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.wms.entity.WmsPurchaseArrivalInspection;
import java.util.List;
import java.util.Map;

/**
 * @Description: 采购到货质检结果表
 * @Author: jeecg-boot
 * @Date: 2023-08-10
 * @Version: V1.0
 */
public interface IWmsPurchaseArrivalInspectionService extends IService<WmsPurchaseArrivalInspection> {
    
    /**
     * 根据采购单ID删除质检结果
     * 
     * @param purchaseOrderId 采购单ID
     * @return 删除条数
     */
    int deleteByPurchaseOrderId(String purchaseOrderId);
    
    /**
     * 批量保存质检结果
     * 
     * @param purchaseOrderId 采购单ID
     * @param purchaseOrderNo 采购单号
     * @param arrivalDate 到货日期
     * @param details 到货明细
     * @param username 操作用户
     * @return 保存条数
     */
    int batchSave(String purchaseOrderId, String purchaseOrderNo, String arrivalDate, 
                  List<Map<String, Object>> details, String username);
    
    /**
     * 批量保存不合格质检结果
     * 
     * @param purchaseOrderId 采购单ID
     * @param purchaseOrderNo 采购单号
     * @param arrivalDate 到货日期
     * @param unqualifiedList 不合格物料列表
     * @param username 操作用户
     * @return 保存条数
     */
    int batchSaveUnqualified(String purchaseOrderId, String purchaseOrderNo, String arrivalDate, 
                            List<Map<String, Object>> unqualifiedList, String username);
    
    /**
     * 获取采购单的到货历史记录
     * 
     * @param purchaseOrderId 采购单ID
     * @return 到货历史记录列表，按到货日期分组
     */
    List<Map<String, Object>> getArrivalHistoryByPurchaseOrderId(String purchaseOrderId);
} 